package bancosys.tec.persist.entities.domain;

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Transient;

import jmine.tec.persist.annotation.DiscriminatorComment;
import bancosys.tec.persist.base.enumx.OutroApacheIntValuedEnumMock;
import bancosys.tec.persist.base.enumx.OutroApacheStringValuedEnumMock;
import bancosys.tec.persist.base.enumx.OutroJavaEnumMock;

@Entity
@DiscriminatorValue("B")
@DiscriminatorComment("WRONG SUBCLASS B")
public class WrongSubclassB extends WrongSingleTableEntity {

    private OutroApacheIntValuedEnumMock intMockReutilizado;

    private OutroApacheStringValuedEnumMock intMockEnumString;

    private String intMockString;

    private BigDecimal intMockBigDecimal;

    private Long intMockLong;

    private OutroApacheStringValuedEnumMock stringMock;

    private String stringMockReusado;

    private BigDecimal stringMockBigDecimal;

    private Long stringMockLong;

    private OutroJavaEnumMock enumMock;

    private BigDecimal enumMockBigDecimal;

    private PaiAnotado associacaoReutilizada;

    private SubPaiAnotado associacaoReutilizadaOutra;

    /**
     * @return the intMockReutilizado
     */
    @Column(name = "APACHE_INT_ENUM")
    public OutroApacheIntValuedEnumMock getIntMockReutilizado() {
        return this.intMockReutilizado;
    }

    /**
     * @return the intMockEnumString
     */
    @Transient
    // @Column(name = "APACHE_INT_STRING_ENUM")
    public OutroApacheStringValuedEnumMock getIntMockEnumString() {
        return this.intMockEnumString;
    }

    /**
     * @return the intMockString
     */
    @Column(name = "APACHE_INT_ENUM_STRING")
    public String getIntMockString() {
        return this.intMockString;
    }

    /**
     * @return the intMockBigDecimal
     */
    @Column(name = "APACHE_INT_ENUM_BIG_DECIMAL", scale = 8, precision = 26)
    public BigDecimal getIntMockBigDecimal() {
        return this.intMockBigDecimal;
    }

    /**
     * @return the intMockLong
     */
    @Column(name = "APACHE_INT_ENUM_LONG")
    public Long getIntMockLong() {
        return this.intMockLong;
    }

    /**
     * @return the stringMock
     */
    @Column(name = "APACHE_STRING_STRING_ENUM", length = 1)
    public OutroApacheStringValuedEnumMock getStringMock() {
        return this.stringMock;
    }

    /**
     * @return the stringMockReusado
     */
    @Column(name = "APACHE_STRING_ENUM_STRING")
    public String getStringMockReusado() {
        return this.stringMockReusado;
    }

    /**
     * @return the stringMockBigDecimal
     */
    @Column(name = "APACHE_STRING_ENUM_BIG_DECIMAL")
    public BigDecimal getStringMockBigDecimal() {
        return this.stringMockBigDecimal;
    }

    /**
     * @return the stringMockLong
     */
    @Column(name = "APACHE_STRING_ENUM_LONG")
    public Long getStringMockLong() {
        return this.stringMockLong;
    }

    /**
     * @return the enumMock
     */
    @Column(name = "JAVA_APACHE_INT_ENUM")
    public OutroJavaEnumMock getEnumMock() {
        return this.enumMock;
    }

    /**
     * @return the enumMockBigDecimal
     */
    @Column(name = "JAVA_ENUM_BIG_DECIMAL", precision = 20, scale = 5)
    public BigDecimal getEnumMockBigDecimal() {
        return this.enumMockBigDecimal;
    }

    /**
     * @return the associacaoReutilizada
     */
    @ManyToOne
    @JoinColumn(name = "COD_ASSOCIACAO_REUTILIZADA")
    public PaiAnotado getAssociacaoReutilizada() {
        return this.associacaoReutilizada;
    }

    /**
     * @return the associacaoReutilizadaOutra
     */
    @ManyToOne
    @JoinColumn(name = "COD_ASSOCIACAO_REUTILIZADA_OUTRA")
    public SubPaiAnotado getAssociacaoReutilizadaOutra() {
        return this.associacaoReutilizadaOutra;
    }

    /**
     * @param intMockReutilizado the intMockReutilizado to set
     */
    public void setIntMockReutilizado(OutroApacheIntValuedEnumMock intMockReutilizado) {
        this.intMockReutilizado = intMockReutilizado;
    }

    /**
     * @param intMockEnumString the intMockEnumString to set
     */
    public void setIntMockEnumString(OutroApacheStringValuedEnumMock intMockEnumString) {
        this.intMockEnumString = intMockEnumString;
    }

    /**
     * @param intMockString the intMockString to set
     */
    public void setIntMockString(String intMockString) {
        this.intMockString = intMockString;
    }

    /**
     * @param intMockBigDecimal the intMockBigDecimal to set
     */
    public void setIntMockBigDecimal(BigDecimal intMockBigDecimal) {
        this.intMockBigDecimal = intMockBigDecimal;
    }

    /**
     * @param intMockLong the intMockLong to set
     */
    public void setIntMockLong(Long intMockLong) {
        this.intMockLong = intMockLong;
    }

    /**
     * @param stringMock the stringMock to set
     */
    public void setStringMock(OutroApacheStringValuedEnumMock stringMock) {
        this.stringMock = stringMock;
    }

    /**
     * @param stringMockReusado the stringMockReusado to set
     */
    public void setStringMockReusado(String stringMockReusado) {
        this.stringMockReusado = stringMockReusado;
    }

    /**
     * @param stringMockBigDecimal the stringMockBigDecimal to set
     */
    public void setStringMockBigDecimal(BigDecimal stringMockBigDecimal) {
        this.stringMockBigDecimal = stringMockBigDecimal;
    }

    /**
     * @param stringMockLong the stringMockLong to set
     */
    public void setStringMockLong(Long stringMockLong) {
        this.stringMockLong = stringMockLong;
    }

    /**
     * @param enumMock the enumMock to set
     */
    public void setEnumMock(OutroJavaEnumMock enumMock) {
        this.enumMock = enumMock;
    }

    /**
     * @param enumMockBigDecimal the enumMockBigDecimal to set
     */
    public void setEnumMockBigDecimal(BigDecimal enumMockBigDecimal) {
        this.enumMockBigDecimal = enumMockBigDecimal;
    }

    /**
     * @param associacaoReutilizada the associacaoReutilizada to set
     */
    public void setAssociacaoReutilizada(PaiAnotado associacaoReutilizada) {
        this.associacaoReutilizada = associacaoReutilizada;
    }

    /**
     * @param associacaoReutilizadaOutra the associacaoReutilizadaOutra to set
     */
    public void setAssociacaoReutilizadaOutra(SubPaiAnotado associacaoReutilizadaOutra) {
        this.associacaoReutilizadaOutra = associacaoReutilizadaOutra;
    }

}
